package ca.scotthyndman.as2haxe.dom.binding;

import ca.scotthyndman.as2haxe.dom.ASTNode;

/**
 * Implemented by bindings that can move their associated elements.
 */
public interface IMovableBinding extends IBinding {

	/**
	 * Moves the bound element, and re-references all elements that refer to it.
	 * 
	 * @param newParent
	 *            the new name
	 * @throws Exception
	 *             if <code>newParent</code> isn't a valid parent for this
	 *             node.
	 */
	public String move(ASTNode newParent) throws Exception;
}
